課程名稱 |
程式設計 Computer Programming |
開課學期 |
106-2 |
授課對象 |
管理學院 財務金融學系 |
授課教師 |
黃俊郎 |
課號 |
Fin2017 |
課程識別碼 |
703 20600 |
班次 |
|
學分 |
3.0 |
全/半年 |
半年 |
必/選修 |
必修 |
上課時間 |
星期五2,3,4(9:10~12:10) |
上課地點 |
管一大電腦 |
備註 |
本課程中文授課,使用英文教科書。必選5選3。 限學士班二年級以上 且 限本系所學生(含輔系、雙修生) 總人數上限:70人 |
Ceiba 課程網頁 |
http://ceiba.ntu.edu.tw/1062Fin2017_CMP_PROG |
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
此課程由介紹電腦演進過程與運作原理理開始,接著由淺入深讓學生熟悉程式結構與應用設計流程,包括:基本語法、流程控制、例外處理、輸出入與類別。
為增加學習成效與學習興趣,課程配合小組專題進行,配合上課教學進度,讓學生藉由實作強化對上課內容的理理解。課程大綱如下:
1. An introduction to Python
2. Basic Python syntax
3. Language components
4. Collections
5. Functions
6. Modules
7. Exceptions
8. Input and output
9. Classes |
課程目標 |
近年來,程式設計在全世界帶起一股風潮,網路路上也出現了許多協助自學程式的網站,如:Codecademy、Girl Develop It、Udacity、Code Racer等。有趣的是,MIT Media Lab計畫執行長Mitch Resnick認為學習程式的重點並不是要將所有年輕人培訓成程式設計師,而是透過學習程式語言,開拓更更寬廣的學習途徑:學寫程式就是在學習創意思考、有系統的推論、和團隊合作,而這些技能不僅在各專業領域都受用無窮,更是生活中不可或缺的能力。
本課程的目的就是讓學生了解將解決問題的方法轉換成電腦程式的過程。除了程式語言撰寫能力,透過專題計畫,也訓練學生發展系統性解決問題,並將之以程式實現的能力。 |
課程要求 |
|
預期每週課後學習時數 |
|
Office Hours |
|
指定閱讀 |
Think Python -- How to Think Like a Computer Scientist, Allen Downey, Green Tea Press. |
參考書目 |
待補 |
評量方式 (僅供參考) |
No. |
項目 |
百分比 |
說明 |
1. |
in-lecture assignment |
20% |
隨堂作業 |
2. |
homework |
30% |
課後作業 |
3. |
team project |
20% |
|
4. |
exam |
30% |
|
|
週次 |
日期 |
單元主題 |
第1週 |
3/02 |
Overview |
第2週 |
3/09 |
The Basics (ch. 1 & 2) |
第3週 |
3/16 |
Functions (ch. 3 & 4) |
第4週 |
3/23 |
Decision (ch. 5) |
第5週 |
3/30 |
Fruitful Functions (ch. 6)
Flowchart |
第6週 |
3/31 |
Flowchart
Project Discussion
GenQuiz |
第7週 |
4/13 |
Iteration (ch. 7) |
第8週 |
4/20 |
Strings (ch. 8)
Case study: word play (ch. 9) |
第9週 |
4/27 |
(期中考週) |
第10週 |
5/04 |
List (ch. 10) |
第11週 |
5/11 |
Dictionaries (ch. 11)
Fate17 Game
|
第12週 |
5/18 |
Finite State Machine
Fate17
Tuples (ch. 12) |
第13週 |
5/25 |
Case study (ch. 13) |
第14週 |
6/01 |
Files (ch. 14) |
第15週 |
6/08 |
Classes and objects (ch. 15)
Classes and functions (ch. 16) |
第16週 |
6/15 |
Classes and methods |
第17週 |
6/22 |
Final Exam |
第18週 |
6/29 |
Project Presentation |